#ifndef _OCPP_ObliqueTo3DTiles_H_
#define _OCPP_ObliqueTo3DTiles_H_

#include "../Osg2CesiumDef.h"

namespace OCPP
{
	namespace Cesium
	{
		class _Osg2CesiumExport ObliqueTo3DTiles
		{
		public:
			ObliqueTo3DTiles();
			ObliqueAnalyst& getAnalyst() { return *_obliqueAnalyst; }
			void write();
			void analysis();
			void fromAnalysis();
			void setNumThread(uint32 value);
			void setReWrite(bool value) { rewrite = value; }
			void setDebugLevel(uint32 value);
			void stop();
			bool isRunning();
			void setProcessCallback(ProcessCallback callback);
			void setFinishedCallback(FinishedCallback callback);
			void setProcessLogCallback(ProcessLogCallback callback);
			void setDataPath(String dataPath);
			void setOutputPath(String value);
		private:
			bool rewrite = true;
			bool bRunning = false;
			String outputPath;
			void logProcess(uint32 L, uint32 count);
			ObliqueAnalyst* _obliqueAnalyst;
			ObliqueTilingScheme *_obliqueTilingScheme;
		};
	}
}

#endif // !_OCPP_ObliqueUtil_H_
